import { request } from "./request";

/**
 * 查询API日志列表
 * @param {Object} params 查询参数
 * @param {string} params.username 用户名
 * @param {string} params.apiDescription API描述（模糊匹配）
 * @param {string} params.apiPath API路径（模糊匹配）
 * @param {string} params.apiMethod 请求方法
 * @param {string} params.startTime 开始时间 (格式: 2025-10-23 00:00:00)
 * @param {string} params.endTime 结束时间 (格式: 2025-10-24 00:00:00)
 * @param {number} params.page 页码
 * @param {number} params.size 每页数量
 * @returns {Promise}
 */
export const getApiLogs = (params) => {
  return request({
    url: "/api-logs/list",
    method: "GET",
    params,
  });
};

/**
 * 删除API日志
 * @param {string} id 日志ID
 * @returns {Promise}
 */
export const deleteApiLog = (id) => {
  return request({
    url: `/api-logs/${id}`,
    method: "DELETE",
  });
};

/**
 * 批量删除API日志
 * @param {Array<string>} ids 日志ID数组
 * @returns {Promise}
 */
export const batchDeleteApiLogs = (ids) => {
  const idsStr = ids.join(",");
  return request({
    url: `/api-logs/batch/${idsStr}`,
    method: "DELETE",
  });
};

/**
 * 获取API平均速率分析
 * @returns {Promise}
 */
export const getApiAverageSpeed = () => {
  return request({
    url: "/analyze/api/average-speed",
    method: "GET",
  });
};

/**
 * 获取所有接口的调用次数
 * @returns {Promise}
 */
export const getTop10CalledApis = () => {
  return request({
    url: "/analyze/api/called-count",
    method: "GET",
  });
};
